// state 存数据
export const state = () =>({
  userInfo: {
    token:'',
    user: {}
  }
  // 把数据存储在本地
  // userInfo: JSON.parse(localStorage.getItem("userInfo")) || {},
});

// 同步
export const mutations = {
  setUserInfo(state,data){
   state.userInfo = data;
  //  存储在本地
  // localStorage.setItem("userInfo",JSON.stringify(data));
  },
  // 清除用户数据
   clearUserInfo (state){
    state.userInfo =  {
      token:'',
      user: {}
    }
   }

};


// 异步
export const actions = {
  // 登陆
  // 第一个参数是state，commit方法从里面结构出来，
  // 第二个参数是接收的数据
  login ({commit},data) {
    this.$axios({
      url: '/accounts/login',
      method: 'post',
      data
    }).then((res)=>{
      console.log(res)
      // 把数据保存到vuex
      commit("setUserInfo",res.data)
      if(res.status === 200){
        this.$router.push('/');
      }
    })
  },

  sendCode(state,phoneNumber){
  return  this.$axios({
      method: "post",
      url: "/captchas",
      data: {
        tel: phoneNumber
      }
    }).then(res => {
      // console.log(res)
      if (res.status === 200) {
        return res.data.code;
      }
    });
  }

};